In digital transmission networks, data of a traffic flow is transmitted from a source host, for example a computer or a communication device, to a destination host, which may be another single host in case of a unicast, multiple hosts forming a multicast group, or a broadcast domain. A traffic flow is considered as the data transmitted in a specific transport connection or a media stream. A traffic flow is a logical equivalent to a call from a source host to a destination host or a connection between the source host and the destination host. Each host is connected via a physical connection to at least one node of the digital transmission network. Digital transmission networks comprise different nodes, wherein a physical connection between two nodes is called a link. A single node may be connected to multiple other nodes via respective links. For transmitting a traffic flow from the source host to the destination host, the traffic flow may have to be switched by intermediate nodes along a transmission path connecting the source host and the destination host.
A first technology for transmitting data of a traffic flow is based on the principle called time division multiplexing (TDM). An example for a network using TDM for transmission is an SDH (Synchronous Digital Hierarchy) network as described in the document “ITU-T Recommendation G.707/Y.1322 (10/2000)—Network node interface for the synchronous digital hierarchy (SDH)”. Payload data of a traffic flow is written at the source host into a number time slots that form a data unit called virtual container (VC), which may be considered a TDM signal. A virtual container is of fixed size and transmitted by the SDH network from the source host to the destination host at a certain periodicity. Thus, a virtual container represents a certain data rate for transmitting data of a traffic flow from the source host to the destination host. For example, a virtual container specified as a VC-4 provides a data rate of 140 Mbit/s. For transmitting virtual containers between two network nodes, virtual containers are multiplexed into transmission frames called synchronous transport modules STM by time division multiplexing, and the STMs are transmitted from one node to another node. Also, an STM may be considered a TDM signal. The node receiving an STM at an ingress port switches a VC to an egress port by TDM switching. This means, that once a switching node is configured, the time slots of a VC received within an STM at an ingress port are switched to a specific egress port depending on the position of the time slots of the VC within the STM. Thus, the TDM technology is a circuit switching technology. At the egress port, the VC is multiplexed into another STM, which then is transmitted to another node. Thus, a VC represents a data traffic flow transmitted from a source host to a destination host along a path, while an STM represents one or more traffic flows transmitted from one node to another node. For switching a VC, a TDM matrix may be used, which is typically implemented as a memory. Each matrix input writes data into predetermined portions of the memory within a predetermined time interval, while each matrix output reads data from predetermined portions of the memory within predetermined time slots. Another type of switch that may be used for switching a VC is a so called cell switch. Timeslot of a received VC are segmented into data cells, the data cells are stored in a queue, and the data cells are switched from an input of an agnostic matrix to an output of an agnostic matrix depending on the configuration of the matrix. At the output, the data cells are reassembled to time slots of a VC again and then the VC is transmitted within an STM. Each input port of the cell switch is able to write data cells into a predefined memory portion corresponding to a single output port at a predefined data rate, for a example a data rate DRIN. The input ports are able to write data cells into the predefined memory portion of the output port in parallel. The single output port is able to read out data cells from the predefined memory portion at another data rate DROUT. The data rate DROUT at which the output port is able to read out data cells is smaller than the sum of the data rates at which all the input ports are able to write into the predefined memory portion.
In networks using the above described method of TDM for data transmission, the incoming data rate of data received at an ingress port and the outgoing data rate of data to be transmitted at an egress port of a specific node are constant. Furthermore, the dimensioning of the switching node and the switching matrix, is chosen such, that all incoming data is switched and transmitted at the output ports without any data loss.
In circuit switched networks, a high availability of the network resources is demanded in order to avoid data loss. Therefore, components of network resources are provided redundantly. For switching, two switching matrices are provided in a network node, which are both configured in the same way. The same switched data is duplicated and forwarded to input ports of both switching matrices, while switched data is read from an output port of only one switching matrix. In case of a failure of one switching matrix, data is read from an output port of the surviving switching matrix.
A second technology for transmitting data of a traffic flow is based on packet switching, for example based on the Internet Protocol as specified in the paper “RFC 791; Internet Protocol, Darpa Internet Program, Protocol Specification; Information Sciences Institute, University of Southern California, 4676 Admiralty Way, Marina del Rey, Calif. 90291; September 1981”. A data packet carries payload data of the data traffic, as well as overhead information identifying a source address and a destination address. A traffic flow is a sequence of packets sent from a particular source host to a particular destination host, which may be a unicast destination or a multicast destination. As previously mentioned, a traffic flow is a logical equivalent to a call from a source host to a destination host or a connection between the source host and the destination host. At a node acting as a switching node, the data packets are switched from an ingress port to an egress port according to the content of their overhead information. Data packets are not fixed to a certain size, but of variable size, and do not arrive with a constant frequency at a node, but randomly.
Data packets are not fixed to a certain size, but of variable size, and do not arrive with a constant frequency at a node, but randomly. Therefore, the data rate caused by data packets received at a network node is not constant. The data rate of received data packets during a short time interval may be high compared to the average data rate of a longer time interval. Such a shorter time interval is called a burst. Data packets may be switched by cell switches, wherein a data packet is segmented into data cells for switching. The data rate during the burst time interval may exceed the data rate at which a cell switch is able to switch the data cells representing the data packets. In such a case, a data packet may have to be dropped at an ingress port resulting in data loss. Alternatively, data packets may be stored in an ingress buffer at the switching node and then read out from the buffer and switched during a later time interval, during which the data rate of received data packets is lower than the data rate at which the node is capable to switch data packets. The effect caused by the buffering of the data packets is a delay of the data packets. Thus, the buffering at the ingress affects the latency of the data traffic carried by the data packets. Furthermore, in the case that multiple packet traffic flows shall be switched from different ingress ports to a same egress port, the sum of the data rates of these packet traffic flows may exceed the data rate at which data can be read out at an output port of the cell switch.
For handling bursts of data cells caused by bursts of data packets, a common technique is to provide at each egress port an egress buffer for intermediate storing of these data cells. As it is discussed in the book “Gigabit Networking, Craig Partridge, published by Addison-Wesley, Oct. 30, 1993” in Chapter 5.1 to 5.4, when using a cell switch, it is of advantage to use egress buffers instead of ingress buffers for handling packets bursts. This reduces the amount of time that data cells have to be stored in a buffer before they can be transmitted at the egress ports. Therefore, egress buffers are to be preferred over ingress buffers for handling bursts of data packets.